using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data; 
using System.Data.SqlClient; 
using System.Data.SqlTypes; 
using SolucionUtiles; 
using SolucionEntidad; 
namespace SolucionDatos 
{ 
   public class KardexDao 
    { 
        private SqlConnection cn; 
        public KardexDao(SqlConnection cn) 
        { 
           this.cn = cn; 
        } 
        public void insert(Kardex obj)
        { 
           SqlCommand command = new SqlCommand("INSERT INTO kardex " + 
           "(idkardex,numeroComprobante,codigoArticulo,tipo_movimiento,cantidadArticulo,valorUnitario,fechaVencimiento,idDepartamento,estado,fechaRegistro) VALUES" + 
           "(@idkardex,@numeroComprobante,@codigoArticulo,@tipo_movimiento,@cantidadArticulo,@valorUnitario,@fechaVencimiento,@idDepartamento,@estado,@fechaRegistro)", this.cn); 

command.Parameters.Add(new SqlParameter("@idkardex", obj.idkardex)); 
command.Parameters.Add(new SqlParameter("@numeroComprobante", obj.numeroComprobante)); 
command.Parameters.Add(new SqlParameter("@codigoArticulo", obj.codigoArticulo)); 
command.Parameters.Add(new SqlParameter("@tipo_movimiento", obj.tipo_movimiento)); 
command.Parameters.Add(new SqlParameter("@cantidadArticulo", obj.cantidadArticulo)); 
command.Parameters.Add(new SqlParameter("@valorUnitario", obj.valorUnitario)); 
command.Parameters.Add(new SqlParameter("@fechaVencimiento", obj.fechaVencimiento)); 
command.Parameters.Add(new SqlParameter("@idDepartamento", obj.idDepartamento)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@fechaRegistro", obj.fechaRegistro)); 
command.ExecuteNonQuery(); 
} 
  		public void update(Kardex obj) 
    	{ 
        	SqlCommand command = new SqlCommand("UPDATE Kardex " + 
			" SET " + 
"numeroComprobante=@numeroComprobante" + 
",codigoArticulo=@codigoArticulo" + 
",tipo_movimiento=@tipo_movimiento" + 
",cantidadArticulo=@cantidadArticulo" + 
",valorUnitario=@valorUnitario" + 
",fechaVencimiento=@fechaVencimiento" + 
",idDepartamento=@idDepartamento" + 
",estado=@estado" + 
",fechaRegistro=@fechaRegistro" + 
 " WHERE " + 
"idkardex=@idkardex" 
,this.cn); 
command.Parameters.Add(new SqlParameter("@idkardex", obj.idkardex)); 
command.Parameters.Add(new SqlParameter("@numeroComprobante", obj.numeroComprobante)); 
command.Parameters.Add(new SqlParameter("@codigoArticulo", obj.codigoArticulo)); 
command.Parameters.Add(new SqlParameter("@tipo_movimiento", obj.tipo_movimiento)); 
command.Parameters.Add(new SqlParameter("@cantidadArticulo", obj.cantidadArticulo)); 
command.Parameters.Add(new SqlParameter("@valorUnitario", obj.valorUnitario)); 
command.Parameters.Add(new SqlParameter("@fechaVencimiento", obj.fechaVencimiento)); 
command.Parameters.Add(new SqlParameter("@idDepartamento", obj.idDepartamento)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@fechaRegistro", obj.fechaRegistro)); 
command.ExecuteNonQuery(); 
} 
       public void delete(Kardex obj){ 
SqlCommand command = new SqlCommand("DELETE FROM kardex WHERE "  
 +"idkardex=@idkardex" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@idkardex", obj.idkardex)); 
command.ExecuteNonQuery(); 
} 
        public Kardex get(Kardex obj) 
{ 
   Kardex record = null; 
    SqlCommand command = new SqlCommand("SELECT idkardex,numeroComprobante,codigoArticulo,tipo_movimiento,cantidadArticulo,valorUnitario,fechaVencimiento,idDepartamento,estado,fechaRegistro FROM kardex where " 
 +"idkardex=@idkardex" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@idkardex", obj.idkardex)); 

    SqlDataReader dr = command.ExecuteReader();
dr.Read(); 
record = new Kardex(); 
if (dr["idkardex"] == DBNull.Value) { record.idkardex = SqlInt32.Null; } else { record.idkardex = (Int32)dr["idkardex"]; } 
if (dr["numeroComprobante"] == DBNull.Value) { record.numeroComprobante = SqlString.Null; } else { record.numeroComprobante = (String)dr["numeroComprobante"]; } 
if (dr["codigoArticulo"] == DBNull.Value) { record.codigoArticulo = SqlString.Null; } else { record.codigoArticulo = (String)dr["codigoArticulo"]; } 
if (dr["tipo_movimiento"] == DBNull.Value) { record.tipo_movimiento = SqlInt32.Null; } else { record.tipo_movimiento = (Int32)dr["tipo_movimiento"]; } 
if (dr["cantidadArticulo"] == DBNull.Value) { record.cantidadArticulo = SqlInt32.Null; } else { record.cantidadArticulo = (Int32)dr["cantidadArticulo"]; } 
if (dr["valorUnitario"] == DBNull.Value) { record.valorUnitario = SqlDecimal.Null; } else { record.valorUnitario = (Decimal)dr["valorUnitario"]; } 
if (dr["fechaVencimiento"] == DBNull.Value) { record.fechaVencimiento = SqlDateTime.Null; } else { record.fechaVencimiento = (DateTime)dr["fechaVencimiento"]; } 
if (dr["idDepartamento"] == DBNull.Value) { record.idDepartamento = SqlInt32.Null; } else { record.idDepartamento = (Int32)dr["idDepartamento"]; } 
if (dr["estado"] == DBNull.Value) { record.estado = SqlInt32.Null; } else { record.estado = (Int32)dr["estado"]; } 
if (dr["fechaRegistro"] == DBNull.Value) { record.fechaRegistro = SqlDateTime.Null; } else { record.fechaRegistro = (DateTime)dr["fechaRegistro"]; } 
this.cn.Close(); 
return record; 
} 
     public List<Kardex> getList() 
{ 
   List<Kardex> list = new List<Kardex>(); 
    SqlCommand command = new SqlCommand("SELECT idkardex,numeroComprobante,codigoArticulo,tipo_movimiento,cantidadArticulo,valorUnitario,fechaVencimiento,idDepartamento,estado,fechaRegistro FROM kardex", this.cn); 
    SqlDataReader dr = command.ExecuteReader(); 
    while (dr.Read()) 
    { 
Kardex obj = new Kardex(); 
if (dr["idkardex"] == DBNull.Value) { obj.idkardex = SqlInt32.Null; } else { obj.idkardex = (Int32)dr["idkardex"]; } 
if (dr["numeroComprobante"] == DBNull.Value) { obj.numeroComprobante = SqlString.Null; } else { obj.numeroComprobante = (String)dr["numeroComprobante"]; } 
if (dr["codigoArticulo"] == DBNull.Value) { obj.codigoArticulo = SqlString.Null; } else { obj.codigoArticulo = (String)dr["codigoArticulo"]; } 
if (dr["tipo_movimiento"] == DBNull.Value) { obj.tipo_movimiento = SqlInt32.Null; } else { obj.tipo_movimiento = (Int32)dr["tipo_movimiento"]; } 
if (dr["cantidadArticulo"] == DBNull.Value) { obj.cantidadArticulo = SqlInt32.Null; } else { obj.cantidadArticulo = (Int32)dr["cantidadArticulo"]; } 
if (dr["valorUnitario"] == DBNull.Value) { obj.valorUnitario = SqlDecimal.Null; } else { obj.valorUnitario = (Decimal)dr["valorUnitario"]; } 
if (dr["fechaVencimiento"] == DBNull.Value) { obj.fechaVencimiento = SqlDateTime.Null; } else { obj.fechaVencimiento = (DateTime)dr["fechaVencimiento"]; } 
if (dr["idDepartamento"] == DBNull.Value) { obj.idDepartamento = SqlInt32.Null; } else { obj.idDepartamento = (Int32)dr["idDepartamento"]; } 
if (dr["estado"] == DBNull.Value) { obj.estado = SqlInt32.Null; } else { obj.estado = (Int32)dr["estado"]; } 
if (dr["fechaRegistro"] == DBNull.Value) { obj.fechaRegistro = SqlDateTime.Null; } else { obj.fechaRegistro = (DateTime)dr["fechaRegistro"]; } 
list.Add(obj); 
} 
return list; 
} 
} 
} 
